package com.zondy.mapgis.domain.psmap;

import com.zondy.mapgis.common.core.annotation.Excel;
import com.zondy.mapgis.common.core.web.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;

@Schema(
   name = "图幅信息对象"
)
public class AppMapSheet extends BaseEntity {
   private static final long serialVersionUID = 1L;
   @Schema(
      description = "ID"
   )
   private Long mapSheetId;
   @Schema(
      description = "比例尺"
   )
   @Excel(
      name = "比例尺"
   )
   private String scale;
   @Schema(
      description = "裁剪框范围"
   )
   @Excel(
      name = "裁剪框范围"
   )
   private String rect;
   @Schema(
      description = "原坐标系"
   )
   @Excel(
      name = "原坐标系"
   )
   private String originSrs;
   @Schema(
      description = "目的坐标系"
   )
   @Excel(
      name = "目的坐标系"
   )
   private String destSrs;
   @Schema(
      description = "图幅号集合"
   )
   @Excel(
      name = "图幅号集合"
   )
   private String no;

   public Long getMapSheetId() {
      return this.mapSheetId;
   }

   public String getScale() {
      return this.scale;
   }

   public String getRect() {
      return this.rect;
   }

   public String getOriginSrs() {
      return this.originSrs;
   }

   public String getDestSrs() {
      return this.destSrs;
   }

   public String getNo() {
      return this.no;
   }

   public AppMapSheet setMapSheetId(Long mapSheetId) {
      this.mapSheetId = mapSheetId;
      return this;
   }

   public AppMapSheet setScale(String scale) {
      this.scale = scale;
      return this;
   }

   public AppMapSheet setRect(String rect) {
      this.rect = rect;
      return this;
   }

   public AppMapSheet setOriginSrs(String originSrs) {
      this.originSrs = originSrs;
      return this;
   }

   public AppMapSheet setDestSrs(String destSrs) {
      this.destSrs = destSrs;
      return this;
   }

   public AppMapSheet setNo(String no) {
      this.no = no;
      return this;
   }

   public String toString() {
      return "AppMapSheet(mapSheetId=" + this.getMapSheetId() + ", scale=" + this.getScale() + ", rect=" + this.getRect() + ", originSrs=" + this.getOriginSrs() + ", destSrs=" + this.getDestSrs() + ", no=" + this.getNo() + ")";
   }

   public boolean equals(Object o) {
      if (o == this) {
         return true;
      } else if (!(o instanceof AppMapSheet)) {
         return false;
      } else {
         AppMapSheet other = (AppMapSheet)o;
         if (!other.canEqual(this)) {
            return false;
         } else if (!super.equals(o)) {
            return false;
         } else {
            Object this$mapSheetId = this.getMapSheetId();
            Object other$mapSheetId = other.getMapSheetId();
            if (this$mapSheetId == null) {
               if (other$mapSheetId != null) {
                  return false;
               }
            } else if (!this$mapSheetId.equals(other$mapSheetId)) {
               return false;
            }

            Object this$scale = this.getScale();
            Object other$scale = other.getScale();
            if (this$scale == null) {
               if (other$scale != null) {
                  return false;
               }
            } else if (!this$scale.equals(other$scale)) {
               return false;
            }

            label71: {
               Object this$rect = this.getRect();
               Object other$rect = other.getRect();
               if (this$rect == null) {
                  if (other$rect == null) {
                     break label71;
                  }
               } else if (this$rect.equals(other$rect)) {
                  break label71;
               }

               return false;
            }

            label64: {
               Object this$originSrs = this.getOriginSrs();
               Object other$originSrs = other.getOriginSrs();
               if (this$originSrs == null) {
                  if (other$originSrs == null) {
                     break label64;
                  }
               } else if (this$originSrs.equals(other$originSrs)) {
                  break label64;
               }

               return false;
            }

            Object this$destSrs = this.getDestSrs();
            Object other$destSrs = other.getDestSrs();
            if (this$destSrs == null) {
               if (other$destSrs != null) {
                  return false;
               }
            } else if (!this$destSrs.equals(other$destSrs)) {
               return false;
            }

            Object this$no = this.getNo();
            Object other$no = other.getNo();
            if (this$no == null) {
               if (other$no != null) {
                  return false;
               }
            } else if (!this$no.equals(other$no)) {
               return false;
            }

            return true;
         }
      }
   }

   protected boolean canEqual(Object other) {
      return other instanceof AppMapSheet;
   }

   public int hashCode() {
      boolean PRIME = true;
      int result = super.hashCode();
      Object $mapSheetId = this.getMapSheetId();
      result = result * 59 + ($mapSheetId == null ? 43 : $mapSheetId.hashCode());
      Object $scale = this.getScale();
      result = result * 59 + ($scale == null ? 43 : $scale.hashCode());
      Object $rect = this.getRect();
      result = result * 59 + ($rect == null ? 43 : $rect.hashCode());
      Object $originSrs = this.getOriginSrs();
      result = result * 59 + ($originSrs == null ? 43 : $originSrs.hashCode());
      Object $destSrs = this.getDestSrs();
      result = result * 59 + ($destSrs == null ? 43 : $destSrs.hashCode());
      Object $no = this.getNo();
      result = result * 59 + ($no == null ? 43 : $no.hashCode());
      return result;
   }
}
